#include <iostream>
#include<vector>
#include<unordered_map>
using namespace std;

int main() {
    int n;
    string s;
    cin>>n>>s;
    if(n<=2) {
        cout<<0;
        return 0;

    }
    unordered_map<char,vector<int>> hash;//ch字符的下标数组
    vector<int> dp(n);//i前面有几个不等于s[i]的字符
    for(int i=0;i<n;i++)
    {
        dp[i]=i-hash[s[i]].size();
        hash[s[i]].push_back(i);
    }
    long long sum=0;//数据范围
    for(auto &[a,b]:hash)
    {
        for(int i=0;i<=(int)b.size()-2;i++)
        {
            sum+=dp[b[i]]*(b.size()-(i+1));//公式手算


        }
    }

    cout<<sum;
    return 0;

}